#include "Ray.h"

Ray::Ray()
{

}

Ray::Ray(const Vector3& a, const Vector3& b)
{
	data[0] = a;
	data[1] = b;
}

Ray::Ray(const Ray& r)
{
	data[0] = r.data[0];
	data[1] = r.data[1];
}

Vector3 Ray::origin() const
{
	return data[0];
}

Vector3 Ray::direction() const
{
	return data[1];
}

Vector3 Ray::pointAtParameter(float t) const
{
	return data[0] + t * data[1];
}

Vector3 Ray::operator()(float t) const
{
	return data[0] + t * data[1];
}